
package kr.makjang.lib.util;

import java.util.ArrayList;

/**
 * @date 2011.11.16
 * @author FateInDestiny
 * @package kr.makjang.lib.util
 * @content 값을 변환 하는 클래스
 */
public class MakConvertValue {

    private String mSection = "###";

    public MakConvertValue() {

    }

    /**
     * String To Array, Array To String으로 변환 할 때 사용할 구분자 설정
     * <table>
     *     <tr>
     *          <td><font face="Arial"><b>Summary</b></font></td>
     *          <td><font face="Arial"><b>Constants</b></font></td>
     *     </tr>
     *     <tr>
     *          <td><i><b>Default Section</b></i></td>
     *          <td>###</td>
     *     </tr>
     * </table>
     * @param section
     */
    public void setSection(String section) {
        mSection = section;
    }

    /**
     * String[] to String 으로 변환. 설정된 구분자로 배열의 아이템 각각을 스트링으로 연결하여 반환
     * 
     * @param arrayString 스트링 배열
     * @return 배열의 길이가 0이나 null일 경우 null 반환, 처리된 스트링 반환
     */
    public String arrayToString(String[] arrayString) {
        int i = 0;
        String temp = null;

        if (arrayString != null && arrayString.length != 0) {
            temp = "";
            while (i < arrayString.length) {
                if (i == 0) {
                    temp += arrayString[i];
                } else {
                    temp += mSection + arrayString[i];
                }
                i++;
            }
        }

        return temp;
    }

    /**
     * String to String[] 으로 변환. 설정된 구분자로 전달된 스트링을 스트링 배열로 반환.
     * 
     * @param string 설정된 구분자 형식의 스트링
     * @return parameter String이 null일 경우 null 반환, 그 외에 설정된 구분자로 String 배열을 반환
     */
    public String[] stringToArray(String string) {
        if (string != null) {
            return string.split(mSection);
        }

        return null;
    }

    /**
     * String[] to ArrayList<String> 으로 변환.
     * 
     * @param arrayString 변환할 String 배열
     * @return String 배열이 null이거나 배열 길이가 0일 경우 기본 ArrayList<String>을 반환하고, 그외에는
     *         String 배열의 값을 Item으로 Add하여 반환
     */
    public ArrayList<String> stringArrayToArrayList(String[] arrayString) {
        int i = 0;
        ArrayList<String> result = new ArrayList<String>();

        if (arrayString != null && arrayString.length != 0) {
            while (i < arrayString.length) {
                result.add(arrayString[i]);
                i++;
            }
        }

        return result;
    }
} // end of class ConvertValue
